package models

type File struct {
	ID             int    `gorm:"primaryKey"`              // ID
	CloneID        int    `gorm:"column:clone_id"`         // 克隆文件ID
	IsFission      int    `gorm:"column:is_fission"`       // 是否裂变
	DirectoryID    int    `gorm:"column:directory_id"`     // 目录ID
	CompanyID      int    `gorm:"column:company_id"`       // 公司ID
	GroupID        int    `gorm:"column:group_id"`         // 部门ID
	Name           string `gorm:"column:name"`             // 文件名
	Extension      string `gorm:"column:extension"`        // 文件名后缀
	Path           string `gorm:"column:path"`             // 文件路径
	VideoCoverPath string `gorm:"column:video_cover_path"` // 视频封面路径
	Description    string `gorm:"column:description"`      // 描述
	Type           string `gorm:"column:type"`             // 类型：video 视频 music 音乐 image 图片 file 文件
	Mime           string `gorm:"column:mime"`             // 文件格式
	Size           int    `gorm:"column:size"`             // 文件大小，单位Kb
	Width          int    `gorm:"column:width"`            // 文件宽度
	Height         int    `gorm:"column:height"`           // 文件高度
	VideoTime      int    `gorm:"column:video_time"`       // 视频时长
	FileMD5        string `gorm:"column:file_md5"`         // 文件MD5
	Creator        int    `gorm:"column:creator"`          // 创建人
	Operator       int    `gorm:"column:operator"`         // 操作人
	ProductID      int    `gorm:"column:product_id"`       // 产品ID
	VideoEditor    int    `gorm:"column:video_editor"`     // 视频剪辑
	VideoDirector  int    `gorm:"column:video_director"`   // 视频导演
	VideoRemark    string `gorm:"column:video_remark"`     // 视频备注
	CmsProjectID   int    `gorm:"column:cms_project_id"`   // 关联项目ID
	CmsTaskID      int    `gorm:"column:cms_task_id"`      // 关联任务ID
	CreatedAt      string `gorm:"column:created_at"`       // 创建时间
	CreatedAtDate  string `gorm:"column:created_at_date"`  // 创建日期
	UpdatedAt      string `gorm:"column:updated_at"`       // 更新时间
	DeletedAt      string `gorm:"column:deleted_at;index"` // 删除时间
	FissionPid     int    `gorm:"column:fission_pid"`      // 裂变文件父ID
}

func (File) TableName() string {
	return "files"
}
